package top.tangyh.lamp.care.service;

import top.tangyh.basic.base.service.SuperService;
import top.tangyh.lamp.care.entity.BCareIsbarHandover;
import top.tangyh.lamp.care.vo.query.CareISBARQueryInVO;
import top.tangyh.lamp.care.vo.result.IsbarIOOutVo;
import top.tangyh.lamp.care.vo.result.IsbarPgRecordDTO;
import top.tangyh.lamp.care.vo.result.PageOutputDTO;
import top.tangyh.lamp.care.vo.save.BCareIsbarHandoverSaveVO;
import top.tangyh.lamp.care.vo.save.CareISBARHandoverInVO;
import top.tangyh.lamp.care.vo.update.BCareIsbarHandoverUpdateVO;
import top.tangyh.lamp.care.vo.result.BCareIsbarHandoverResultVO;
import top.tangyh.lamp.care.vo.query.BCareIsbarHandoverPageQuery;

import java.util.List;


/**
 * <p>
 * 业务接口
 * ISBAR护理交班表
 * </p>
 *
 * @author zqb
 * @date 2024-08-12 10:28:25
 * @create [2024-08-12 10:28:25] [zqb] [代码生成器生成]
 */
public interface BCareIsbarHandoverService extends SuperService<Long, BCareIsbarHandover> {

    /**
     * 新交班接口 根据日期返回有记录的一条数据或无记录的组合数据
     *
     * @param currentDate 精确到天的13时间戳
     * @return
     */
    BCareIsbarHandoverResultVO queryLast(Long currentDate);

    /**
     * 历史交班记录接口
     *
     * @param queryInVO
     * @return
     */
    PageOutputDTO<BCareIsbarHandoverResultVO> queryRecords(CareISBARQueryInVO queryInVO);


    /**
     * 保存接口和修改接口
     *
     * @param inVo
     */
    void save(CareISBARHandoverInVO inVo);

    void delete(Long id);

    /**
     * 手术数量接口
     *
     */
    Long operaCount(Long startTime,Long endTime);

    /**
     * 出入量接口
     *
     */
    IsbarIOOutVo inout(String hospitalNumber, Long startTime, Long endTime);

    /**
     * 特别提醒
     *
     */
    List<IsbarPgRecordDTO> remind(String hospitalNumber, Long startTime, Long endTime);


}


